package com.tansun.easycare.rule.ml.algorithm.entity;

import java.io.Serializable;

/**
 * 数据变量实体类
 * @author xch
 *
 */
public class DataVariable implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	//变量名称
	protected String name;
	
	//变量描述
	protected String label;
	
	//数据类型，分类或者数据,Factor,Numeric
	protected String dataType;
	
	//变量类型input,target,ignore,leave,remove
	protected String variableType;
	
	//统计0个数
	protected int zerosCount;
	
	//缺失值个数
	protected int naCount;
	
	//唯一值个数
	protected int uniqueCount;
	
	//变量标签，positive 正例， negative 反例
	protected String varLabel;
		
	//取值,针对二分类
	protected double dataVal;

	//是否执行数据平衡
	protected boolean isBanlance;
		
	//数据所在列的索引
	protected int dataIndex;

	public String getVariableType() {
		return variableType;
	}

	public void setVariableType(String variableType) {
		this.variableType = variableType;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getLabel() {
		return label;
	}

	public void setLabel(String label) {
		this.label = label;
	}

	public String getDataType() {
		return dataType;
	}

	public void setDataType(String dataType) {
		this.dataType = dataType;
	}

	public int getZerosCount() {
		return zerosCount;
	}

	public void setZerosCount(int zerosCount) {
		this.zerosCount = zerosCount;
	}

	public int getNaCount() {
		return naCount;
	}

	public void setNaCount(int naCount) {
		this.naCount = naCount;
	}

	public int getUniqueCount() {
		return uniqueCount;
	}

	public void setUniqueCount(int uniqueCount) {
		this.uniqueCount = uniqueCount;
	}

	public String getVarLabel() {
		return varLabel;
	}

	public void setVarLabel(String varLabel) {
		this.varLabel = varLabel;
	}

	public double getDataVal() {
		return dataVal;
	}

	public void setDataVal(double dataVal) {
		this.dataVal = dataVal;
	}

	public boolean getIsBanlance() {
		return isBanlance;
	}

	public void setIsBanlance(boolean isBanlance) {
		this.isBanlance = isBanlance;
	}

	public int getDataIndex() {
		return dataIndex;
	}

	public void setDataIndex(int dataIndex) {
		this.dataIndex = dataIndex;
	}

	@Override
	public String toString() {
		return "DataVariable [name=" + name + ", label=" + label + ", dataType=" + dataType + ", variableType="
				+ variableType + ", zerosCount=" + zerosCount + ", naCount=" + naCount + ", uniqueCount=" + uniqueCount
				+ ", varLabel=" + varLabel + ", dataVal=" + dataVal + ", isBanlance=" + isBanlance + ", dataIndex="
				+ dataIndex + "]";
	}
	
}
